# numpy (np)：一个用于数值计算的强大库，支持多维数组和矩阵操作。
# cosine：从 scipy.spatial.distance 模块导入的函数，用于计算两个向量之间的余弦距离（即 1 - 余弦相似度）。

import numpy as np
from scipy.spatial.distance import cosine

# 定义了两个嵌入向量 embedding1 和 embedding2，它们通常是从预训练模型（如 BERT）中获取的文本或词语的向量表示
embedding1 = np.array([0.5, 0.8, 0.9])
embedding2 = np.array([0.4, 0.9, 0.7])
# cosine 函数返回的是余弦距离（1 - 余弦相似度）
cosine_distance = cosine(embedding1, embedding2)
# 由于 cosine 函数返回的是余弦距离（1 - 余弦相似度），因此我们可以通过以下公式将其转换为余弦相似度：cosine_similarity=1-cosine_distance
# 余弦相似度的值范围在 [-1, 1] 之间，但在大多数情况下（特别是在文本处理中），余弦相似度的值会在 [0, 1] 之间，其中：
# 1 表示两个向量完全相同（方向完全一致）。
# 0 表示两个向量正交（方向完全不同）。
# -1 表示两个向量完全相反（方向完全相反）
cosine_similarity = 1 - cosine_distance

print(f"余弦相似度: {cosine_similarity}")